As data storage needs continue to increase at a rapid rate, magnetic tape continues to offer some significant advantages over other data storage technologies. At an average cost on the order of $0.01 per gigabyte, tape storage is typically the most affordable option for storing massive quantities of data. Recent technological advances have also increased the speed that data can be written to and/or retrieved from tape, with some tape drives having the ability to read and/or write data at speeds of over 1 terabyte per hour. Other advantages of magnetic tape include reduced energy costs associated with storing data, portability, greater reliability and longevity, and the ability to easily scale tape storage as storage needs increase. For the reasons provided above, tape storage often plays a significant role in an organization's data storage infrastructure.
Due to its sequential-access characteristics, tape storage operates most efficiently when streaming data. It typically does not perform as well when performing many small reads, where each read is separated by a head reposition operation. Attempting to read many small objects on the tape may cause many starts and stops of the tape head and result in significant I/O performance degradation. Unfortunately, this is often the kind of behavior that is observed when directly restoring objects from tape to another storage medium such as disk. In some cases, objects that need to be restored may not be adjacent to one another or the objects may be separated by free space formerly occupied by objects that have since been deleted. This may cause the start and stop behavior and resulting I/O performance degradation described above.
In view of the foregoing, what are needed are systems and methods to more efficiently read multiple objects from tape. Ideally, such systems and methods will minimize and/or reduce start and stop behavior and resulting I/O performance degradation when restoring multiple objects from tape.